#include "bsp_gpio.h"


Driver_KeyCheck_t gDriver_KeyCheck[ID_KEY_MAX]={
	[ID_KEY_Left]	= {0,0,0,NULL,NULL},
	[ID_KEY_Mid] 	= {0,0,0,NULL,NULL},
	[ID_KEY_Right]= {0,0,0,NULL,NULL}
};

void KeyCheck_CallbackRegister(uint8_t key_id,Register_FunctionId_t reg_func_id,DriverHandler_t func)
{
	assert_param(key_id>=ID_KEY_Left && key_id<ID_KEY_MAX);
	
	if(reg_func_id==KEY_SHORTCHECK_REGISTER)
	{
		gDriver_KeyCheck[key_id].KeyShortCheck_Handler=func;
	}else if(reg_func_id==KEY_LONGCHECK_REGISTER)
	{
		gDriver_KeyCheck[key_id].KeyLongCheck_Handler=func;
	}
}


void KeyCheck_Scan(void)
{
	if(KEY_LEFT_PUSH_DOWN) 	gDriver_KeyCheck[ID_KEY_Left].trigLabel=1;
	else gDriver_KeyCheck[ID_KEY_Left].trigLabel=0;
	if(KEY_MID_PUSH_DOWN) 	gDriver_KeyCheck[ID_KEY_Mid].trigLabel=1;
	else gDriver_KeyCheck[ID_KEY_Mid].trigLabel=0;
	if(KEY_RIGHT_PUSH_DOWN) gDriver_KeyCheck[ID_KEY_Right].trigLabel=1;
	else gDriver_KeyCheck[ID_KEY_Right].trigLabel=0;
	
	for(U8 id=0;id<ID_KEY_MAX;id++)
	{
		if(gDriver_KeyCheck[id].trigLabel)
		{
			if(gDriver_KeyCheck[id].pressCnt++ >= 
}





	